Method for PoC server to handle PoC caller preferences

ABSTRACT

A Push-to-X over Cellular (PoC) server ( 351 ) receives a server registration message ( 301 ) for a first called device from a second server. The PoC server ( 351 ) receives a PoC invitation message ( 310 ) with PoC preferences and a message ( 313 ) from an originating device ( 311 ). The PoC preferences determine what device to call first (e.g., a mobile device  315, 317 ) and how many hops the call can be forwarded (e.g., to a voicemail server) if the first-attempted device is not available, before discontinuing the connection. If a trigger, such as time elapsed, occurs for the first-attempted device ( 350 ) and the PoC preferences permit, the PoC server ( 351 ) sends an invitation message ( 360 ) to the second server ( 391 ). If the second server ( 391 ) is a recording server, the invitation message ( 360 ) includes a message ( 363 ) from the originating device that is compatible with the capabilities of the recording server ( 391 ).

FIELD OF THE DISCLOSURE

This disclosure relates generally to cellular communication systems, inparticular the provision of push-to-X (PTX) services in a cellularcommunication system.

BACKGROUND OF THE DISCLOSURE

Push-to-talk (PTT) refers to a half-duplex mode of communication duringwhich a single user has mutually exclusive use of a wirelesscommunication channel for the transmission of voice information toanother user or group of users. From an operational viewpoint,originating party User A presses a PTT switch on a mobile device,possibly awaits a “ready” tone, speaks into a microphone of the mobiledevice, and then releases the PTT switch. At this point, a former calledparty User B can press a PTT switch, possibly await a “ready” tone,speak into the microphone, and release the PTT switch. This procedure isrepeated with different parties becoming the originating user andtransmitting to one or more called parties in the group call until theconversation has completed.

With PTT and other PTT-related (PTX) services being available over acellular communication network, PTX over Cellular (PoC) services arestarting to address the merging of PTX and other telephony services—suchas the merging of PTT with voicemail services. If a called party User Bforwards a PoC call to a voicemail server, the outgoing message of thevoicemail may grab the “floor” and thus have mutually exclusive use ofthe communication channel for the duration of the outgoing message.Meanwhile, originating party User A and other group call participantssuch as User C may have to endure the outgoing message of User B'svoicemail when User A would rather have avoided User B's voicemailsystem entirely.

Thus, there is an opportunity to improve a user's experience insituations where a PoC call is forwarded to a voicemail server. Thevarious aspects, features and advantages of the disclosure will becomemore fully apparent to those having ordinary skill in the art uponcareful consideration of the following Drawings and accompanyingDetailed Description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a push-to-talk over cellular (PoC) system architectureaccording to an embodiment.

FIG. 2 shows a block diagram of a mobile device according to anembodiment.

FIG. 3 shows a sample signal flow diagram for a push-to-talk systemaccording to an embodiment.

FIG. 4 shows a flow chart to be implemented in a PTT server for handlinga calling device's priority list according to a second embodiment.

FIG. 5 shows a flow chart to be implemented in a PTT server for handlinga calling device's priority list according to a first embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A Push-to-X over Cellular (PoC) server receives a server registrationfor a first device from a second server. The PoC server receives a PoCinvitation message with PoC preferences and a message from anoriginating device. The PoC preferences determine what device to callfirst (e.g., a mobile device) and how many hops the call can beforwarded (e.g., to a voicemail server) if the first-attempted device isnot available, before discontinuing the connection. If a trigger, suchas time elapsed, occurs for the first-attempted device and the PoCpreferences permit, the PoC server sends an invitation message to thesecond server. If the second server is a recording server, theinvitation message includes a message from the originating device thatis compatible with the capabilities of the recording server.

If no hops are allowed, the connection to a particular called party willbe discontinued if the first-attempted device is not available. This isuseful when an originating user only wants to reach a personimmediately. If one or more hops are allowed, the connection to aparticular called party can be forward to additional servers, includingrecording servers. If the connection is forwarded to a recording server,a recorded message from the originating user can be sent to therecording server without interrupting the group call. A recorded messagefrom the originating user can be selected or modified depending on thecapabilities of the recording server.

FIG. 1 shows a push-to-X over cellular (PoC) system architecture 100according to an embodiment. PoC systems, both terrestrial and satellite,generally utilize a network component (e.g., a PTT server 151) to (a)set up and control required radio resources and (b) establish and managethe switching of voice data. Note that this system architecture can beexpanded to include not only push-to-talk services, but alsopush-to-message, push-to-video, and other extensions of the push-to-talkconcept into other forms of communication and services.

In this PoC system architecture 100, an originating mobile device 111wirelessly communicates with a radio access network 121. This radioaccess network 121 connects to a packet data core network 131 which inturn connects to a PTT radio resource manager 141 and a PTT server 151(sometimes called a PTT data switch) through the Internet 161, SIP proxyservers, or other data network elements. The PTT radio resourcecontroller 141 (sometimes called a PTT radio resource manager)communicates with the PTT server 151. Other elements, such as recordingservers 191 are also coupled to the network. Other packet data corenetworks 135, 137 are connected to the Internet 161, while other radioaccess networks 125, 127 are connected to the packet data core networks.Called mobile devices 115, 117, 119 are wirelessly connected to one ormore of the available radio access networks 121, 125, 127. Any two ormore of these mobile devices 111, 115, 117, 119 can establish a groupcall by one mobile device (such as originating mobile device 111)requesting a PoC call with one or more other mobile devices (such ascalled mobile device 115) in accordance with an agreed-upon protocolsuch as Session Initiation Protocol (SIP).

In this embodiment, the PoC system architecture 100 is implemented aspart of a Global System for Mobile communications (GSM) system, with theradio access networks being GSM General Packet Radio Service (GPRS)radio access networks and the packet data core networks 131, 135, 137being Gateway GPRS Support Nodes (GGSNs) and Serving GPRS Support Nodes(SGSNs). Alternately, the PoC system architecture 100 can be implementedas part of a CDMA system, with the radio access networks 121, 125, 127being CDMA 1× radio access networks and the packet data core networks131, 135, 137 being Packet Data Switching Networks (PDSNs). The PoCsystem architecture can have additional or alternate radio accessnetworks and core networks, including combinations and hybrids thatdevelop as technology progresses.

In this example, an originating mobile device 111 wirelesslycommunicates with a radio access network 121. For the purposes ofproviding detail for this preferred embodiment, the originating mobiledevice 111 is a GSM device and the radio access network 121 is a GSMGPRS radio access network; however, alternate radio access networks areapplicable as mentioned previously. The radio access network 125connects to a packet data core network 135, implemented as an SGSN andGGSN, which in turn uses an Internet Protocol (IP) and SessionInitiation Protocol (SIP) to connect to the PTT radio resourcecontroller 141 and PTT server 151 through the Internet 161.

A called mobile device 115 wirelessly communicates with a differentradio access network 125, which is also a GSM GPRS radio access networkin this example. The radio access network 125 connects to a packet datacore network 135, implemented as another SGSN and GGSN, which in turnuses an Internet Protocol (IP) and Session Initiation Protocol (SIP) toconnect to the PTT radio resource controller 141 and PTT server 151through the Internet 161. Further called mobile devices 117, 119wirelessly communicate with yet another radio access network 127. Theradio access network 127 connects to a packet data core network 137,which in turn connects to the PTT radio resource controller 141 and PTTserver 151 through the Internet 161.

Although the mobile devices 111, 115, 117, 119 are shown as wirelesstelephones and a personal digital assistant, one or more mobile devicescould be implemented as other types of wireless device such as pocketpersonal computers or laptop computers.

If the mobile device 111 is operated by an originating party (User A), asignal goes from the mobile device 111 through the radio access network121 and packet data core network 131 to the PTT radio resourcecontroller 141, which sets up the path for communication data. Once thePoC circuit is set up, User A's communication data is sent from themobile device 111 to the radio access network 121, to the packet datacore network 131, and to the PTT server 151. The PTT server 151 forwardsUser A's communication data to the packet data core networks 135, 137 ofthe called parties, which in turn go to the radio access networks 125,127 of the called parties and then the mobile devices 115, 117, 119 ofthe called parties.

Called party User B may have the mobile device 115 forwarded to arecording server 191 (such as a voicemail system) because User B'smobile device 115 is not being answered, is powered down, or is roamingin a network that does not support PoC services. In such an instance,User B may unintentionally participate in the call through User B'soutgoing message on the voicemail server. The outgoing message may grabthe “floor” and maintain the floor throughout the duration of theoutgoing message. At this point, all the other participants on the callare forced to listen to User B's outgoing voicemail message. Once UserB's voicemail server releases the floor, the originating user (User A)may hang up or interact with the voicemail server by leaving a messageand/or working with the voicemail menu system. Note that the recordingserver 191 can also be implemented as an electronic mail server oranother type of server used for disseminating outgoing messages orstoring incoming messages. In the case of an electronic mail server,note that an electronic mail server might be implemented as a componentin a text messaging or paging system.

A further complication occurs when more than one user, such as User Bwith mobile device 115 and User D with mobile device 119, has callsforwarded to their voicemail server(s). In this situation, two outgoingmessages may attempt to grab the floor at approximately the same time.The result might be that one outgoing message grabs the floor and theother outgoing message is at least partially blocked because it does nothave the floor. Alternately, the voice mail servers may need to beaddressed one after another, which would take up additional time duringthe beginning of the group call. It is also possible that a voicemailserver that does not have the floor may terminate the call due toinactivity.

By equipping at least an originating mobile device with PoC callerpreferences, the originating mobile device can avoid situations whereoutgoing messages of a recording server compete with each other oractual users for the floor. PoC caller preferences enable an originatinguser to specify whether PoC calls should be forwarded to a recordingserver (or another server) and allow the originating user to leave amessage on a recording server without interrupting the PoC conversation.

FIG. 2 shows a block diagram of a mobile device 200 according to anembodiment. The mobile device 200 can be any of the mobile device 111,115, 117, 119 shown in FIG. 1. The mobile device 200 includes a userinterface 202 coupled to a processor 206, such as one or moremicroprocessors, microcontrollers, digital signal processors (DSPs), orequivalents or combinations thereof. The mobile device 200 furtherincludes at least one memory device 208 associated with a processor 206,such as random access memory (RAM), dynamic random access memory (DRAM),and/or read only memory (ROM) or equivalents thereof, that maintain dataand programs that may be executed by the processor 206 and that allowthe mobile device 200 to perform all the functions necessary to operatein a compatible communication system such as the one shown in FIG. 1.

The user interface 202 provides a user of the mobile device 200 with thecapability of interacting with the mobile device 200, including enteringinstructions into the mobile device 200. In one embodiment, the userinterface 202 includes a display screen 204 and a keypad with multiplekeys, including a PoC key. In alternate embodiments, the PoC key isimplemented as a “soft key” or a region on a touchscreen rather than adiscrete key.

The memory device 208 maintains a Mobile ID and a PoC Address that areuniquely associated with the mobile device 200. A PoC Address can beimplemented as an e-mail address or a canonical telephone number. Forexample, a PoC Address may be a Session Initiation Protocol (SIP)Universal Resource Identifier or Locator (URI or URL) such as“someone@example.com.” As another example, a PoC Address may be aTelephone (TEL) URI or URL, such as international number TEL:+1-888-555-1212, or a local number that uses a local dialing plan andprefix.

Additionally, the memory device 208 maintains a phone book listing ofidentifiers associated with one or more other devices. An identifier canbe a PoC Address uniquely associated with a mobile device, a PoC Addressof a voicemail or email server of a home network serving the mobiledevice 200, such as the recording server 191 shown in FIG. 1, or atalkgroup ID uniquely associated with multiple unique PoC Addresses. Theidentifiers may be pre-programmed into the memory device 208 or may beadded to the memory device 208 by a user of the mobile device 200.

The memory device 208 further allows for PoC preferences regarding eachentry in its phone book listing. The PoC preferences include theoriginating mobile device's prioritized list of preferred forwardingactions for a PoC call. Examples of a prioritized list are shown inmemory element 215 for User B and memory element 217 for User C. When anoriginating mobile device (such as User A's mobile device 115 shown inFIG. 1) with a prioritized list such as that shown in memory elements215, 217 seeks to establish a PoC call with User B, it will first callUser B's mobile device (such as mobile device 115 shown in FIG. 1). Ifthe PoC call is unable to connect because User B's mobile device 115 isnot being answered, out of range, turned off, set to “do not disturb,”or the like, memory element 215 shows that it is acceptable for the PoCcall to be forwarded to a recording server such as recording server 191shown in FIG. 1 or a different PoC Address. A further variable indicateshow many forwarding hops are acceptable to the originating user, User A.For example, memory element 215 indicates that two hops are acceptable,which could be one hop to an alternate telephone number and a second hopto a recording server. If no alternate PoC Address is available or thehop count is exceeded, the memory element 215 indicates that the PoCcall should discontinue the connection.

Another memory element 217 is established for User C's mobile device 117shown in FIG. 1. In this situation, when User A's mobile device seeks toestablish a PoC call with User C, it will first try to contact User C'smobile device (such as mobile device 117 shown in FIG. 1). If the PoCcall is unable to connect because User C's mobile device 117 is notbeing answered, out of range, turned off, set to “do not disturb,” orthe like, memory element 217 indicates that the PoC call should end.Thus, memory element 217 establishes that, even though User C may have arecording server available, originating User A's preference is to notforward the PoC call to the recording server or any other PoC Address.In this situation, either originating User A will reach called partyUser C at User C's mobile phone or User A will not reach User C at all.

Note that this prioritized list can be set and modified by theoriginating caller on a per-call basis or less frequently. For example,if an originating user only wants to reach called users at their primarymobile device for a particular PoC call, then, prior to originating thatPoC call, the originating user can set the prioritized lists to “(1)call mobile device and (2) discontinue connection” for each of themobile devices to be called. If, however, the originating user wants toleave a message for one called party and try to reach all other calledparties directly, the originating user can modify the prioritized listfor that one party to be “(1) call mobile device, (2) allow forwarding aspecified number of hops, and (3) discontinue connection” while leavingthe other prioritized lists as “(1) call mobile device and (2)discontinue connection.” Allowing forwarding 0 hops is another way toimplement not allowing forwarding. Although it is theoretically possibleto allow forwarding an unlimited number of hops, each hop generallycauses delay and increases the risk of a loop where a hop returns thecall to a server that has already been hopped-through.

As telephony services evolve and merge with other services such aspresence, instant messaging, location-based services, electronic mail,and the like, the list of options for PoC preference lists will grow.PoC preference lists can keep track of the originating user'spreferences and allow the caller to maintain some control over where thecall is being forwarded and prevent unwanted effects, such as avoicemail outgoing message grabbing the floor.

FIG. 3 shows a sample signal flow diagram 300 for a push-to-talk systemaccording to an embodiment. Vertical line 311 represents signaling toand from an originating mobile device A, such as mobile device 111 shownin FIG. 1. Vertical line 351 represents signaling to and from a PTTserver, such as PTT server 151 shown in FIG. 1. Vertical line 315represents signaling to and from a called mobile device B, such asmobile device 115 shown in FIG. 1. Vertical line 317 representssignaling to and from a called mobile device C, such as mobile device117 shown in FIG. 1. Vertical line 391 represents signaling to and froma recording server, such as recording server 191 shown in FIG. 1. Notethat there may be other servers involved in this communication session.For example, PTT server 351 may serve User A while another PTT server(not shown) serves User B and yet another PTT server (not shown) servesUser C. Additionally, there may be intermediate servers that routemessages but are not directly associated with any of the callparticipants. For the purposes of this explanation, no additional PTTservers are shown; however, additional servers affect the situation inthat they increase the hop count and may introduce delay into thesystem.

Initially, the recording server 391 sends a recording serverregistration message 301 indicating the PoC Address of the recordingserver and its association with a mobile device. In this example, therecording server is a voicemail server for mobile device B. Therecording server registration message 301 indicates the preference ofmobile device B relative to the recording server. In this example, themessage 301 indicates that mobile device B should first be contacted andthen, should contacting mobile device B be unsuccessful, the recordingserver 391 should be contacted.

When User A desires to make a group call, the originating mobile deviceA 311 sends a SIP OPTIONS message 303 to query the PTT server 351regarding any recording server registrations for the group call'sparticipant list. The PTT server 351 returns a 200 OK message 306 withinformation regarding any recording servers registered to theparticipants, including the capabilities of the recording servers. Basedon whether any participants have registered recording servers, and thecapabilities of the recording servers, the originating mobile device 311constructs a message that can be sent (with or without modifications) toone or more registered recording servers. For example, if aparticipant's recording server accepts multimedia messages, a photo of awatch and an audio recording of “It's meeting time!” plus the text “IT'SMEETING TIME” can be forwarded. If the recording server only acceptstext messages then a text message ‘IT' S MEETING TIME” can beconstructed by stripping out non-text layers of the message 313described earlier or by receiving and selecting a text-only message 313from the originating mobile device. If a participant's recording serveraccepts audio messages, then an audio recording of “It's meeting time!”can be made by stripping out non-audio layers of the multimedia message313 described earlier or by receiving and selecting an audio-onlymessage 313 from the originating mobile device.

By querying the existence and capability of participants' recordingservers, the originating mobile device 311 can tailor messages to thecapabilities of the available recording devices, which improves the userexperience and reduces wasted bandwidth when, for example, a multimediamessage is constructed at the originating device but no participant'srecording server can accept a multimedia message. Additionally, theinformation in 200 OK message 306 can be used by User A to createpersonalized messages for called users rather than grouping the messageby recording server type (e.g., text, audio, multimedia, etc.).

To initiate a PoC communication session, the originating mobile device A311 sends one or more messages to the PTT server 351 containing a SIPINVITE message 310 identifying target mobile devices. The identifier ofthe target mobile devices can be a PoC Address such as a telephonenumber or email address. Depending on implementation, a single SIPINVITE message can include a single PoC Address or multiple PoCAddresses. Optionally, the initial set of INVITE-related messagesincludes an audio, visual, or multimedia message 313 such as “It'sMeeting Time” in the recorded voice of the user A, a text message “It'sMeeting Time,” a graphic icon of an alarm clock, or more than one of themessages above. Also, the initial set of INVITE-related messages caninclude originating mobile device PoC preferences 316. For example, userA may have determined that the PTT server 351 should, for all calledmobile devices, first attempt a connection with the target mobiledevice, then any recording server associated with the target mobiledevice, and hang up if neither the target mobile device nor itsrecording server can be reached.

In response to the SIP INVITE message 310 from the originating mobiledevice 311, the PTT server 351 sends an INVITE message 320 to User B andan INVITE message 323 to User C. These secondary INVITE messages 320,330 occur in parallel. Mobile device B 315 responds to the SIP INVITEmessage 320 with a SIP 180 RINGING message 330. Mobile device C 317responds to the SIP INVITE message 323 with a SIP 180 RINGING message333. The PTT server 351 processes these SIP 180 RINGING messagesnormally and sends a SIP 180 RINGING message 336 to the originatingmobile device A 311.

Shortly after, in this example, mobile device C 317 is answered eitherautomatically or manually, and a SIP 200 OK message 340 goes from themobile device C 317 to the PTT server 351, which sends a SIP 200 OKmessage 343 to the mobile device A 311. At this point, the originatingmobile device 311 and PTT server 351 set up a Real Time Protocol (RTP)media session 370 from the originating mobile device 311 to the PTTserver 351 and another RTP media session 373 from the PTT server 351 tothe mobile device 315 that has accepted the call. Now, User A cancommunicate from mobile device 311 to mobile device 315. If additionalmobile devices (not shown) are participating in the group call, furthersecondary RTP media sessions, similar to RTP media session 373, can beestablished with the PTT server 351, and the information in RTP mediasession 370 will be sent to the additional mobile devices as they answerthe group call.

Meanwhile, mobile device B 315 has not been answered and the PTT server351 awaits a trigger indicating that the PTT should no longer continueto wait. The trigger can be implemented as a ring count (e.g., wait nolonger than six rings), a timer (e.g., wait no longer than 30 seconds),or another triggering mechanism. One the trigger has occurred 350, thePTT server 351 sends a SIP BYE message 353 to the mobile device B 315 tocancel the previous SIP INVITE message 320 to User B. Next, the PTTserver 351 sends a SIP INVITE message 360 to User B at the second-choicePoC Address in accordance with the PoC preference list 316 expressed inthe initial set of messages from the originating mobile device A 311. Inthis situation, the second-choice is a recording server 391, whose PoCAddress is determined from the recording server registration message 301sent earlier to the PTT server 351. Based up the PTT server's knowledgeof the capabilities of the recording server, the PTT server 351 can alsoforward a message 363 to the recording server 391 reflecting the message313 from the originating mobile device A 311.

Note that the message 313 can have more than one layer or part (e.g.,voice, text, photo, video, etc.), and the appropriate layers of themessage 313 can be sent to the recording server 391 depending on therecording server's capability. For example, only the voice layer of themessage 313 will be forwarded to a voicemail server and only the textlayer of the message 313 will be forwarded to a text server, butmultiple layers of the message 313 will be forwarded to a multimediamessaging server. Additional layers of the message 313 can include flagsfor “urgent” or data such as location information of the calling party.

The recording server 391 responds with a SIP 200 OK message 366 for UserB, and the PTT Server 351 closes the session with a SIP BYE message 369to the recording server 391. Because only User C is available for thegroup call at mobile device C 317, when mobile device A 311 has thefloor, it sends an RTP media message 370 to the PTT server 351, whichforwards it to mobile device C 317.

Thus, the originating User A and any available called parties (User C)can have a group call without being forced to listen to an outgoingmessage from non-available called parties (User B). If the originatingUser A would like to leave a message, it can be pre-recorded and sent toa called party's recording server without interrupting the real-timegroup call. If the originating User A would not like to leave a messagewith a called party (User B), then the PTT Server 351 can disconnect thecall if the called party is not available directly. Other variations ofcalled party preferences are possible, as shown in FIGS. 4-5.

FIGS. 4-5 show a flow chart 400, 500 to be implemented in a PTT serverfor handling an originating party's PoC preference list according to anembodiment. A PTT server such as PTT server 151 shown in FIG. 1 canimplement the flow chart 400. Memory element 215 of FIG. 2 can store thePoC preference list of the originating user.

Initially, step 410 receives an INVITE message for a group call for Ncalled parties and, optionally, messages for the called parties, where Nis a natural number. Step 415 checks each called party's serverregistration. Step 420 forks an INVITE message to each of the N calledparties so that each of the N called parties is being sent an individualINVITE message. Forking can be implemented in a PTT server usingseparate state machines for each called party operating in parallel.Step 430 resets individual triggers for each called party. As statedearlier, triggers can be timers, ring counts or other mechanisms. Step440 determines if a particular called party's trigger has tripped. Ifthe trigger has expired, then the flow goes to step 520 in FIG. 5.

If the trigger has not tripped and step 450 determines that an OKmessage has been received from the called party related to that trigger,then step 454 cancels that called party's trigger and step 457 continueswith a normal PoC call set-up for that called party.

If the trigger has not tripped and step 450 determines that no OKmessage has yet been received, then step 455 handles any messagereceived (such as a RINGING or TRYING message) normally and returns tostep 440.

Turning to FIG. 5, step 520 checks whether the originating user's PoCpreference list shows a preference for the call to be forwarded. Ifthere is no preference for the call to be forwarded, step 525discontinues the connection for that called party. If there is apreference for the call to be forwarded, step 530 determines if thecalled party has implemented call forwarding to another PoC Address. Ifnot, step 525 discontinues the connection. If the called party has aforwarding PoC Address, step 535 determines if forwarding the call wouldexceed the allowable hop count set by the originating user. If the hopcount is not exceeded, then the connection is forwarded in step 550.

If step 460 determines that the connection is forwarded to a recordingserver, the originating user can leave a pre-recorded message withoutinterrupting the other parties on the group call in step 465. Otherwise,the flow returns to step 430 in FIG. 4 to reset the trigger for thatparticular called party.

Returning to step 535, if the hop count is exceeded, than step 525discontinues the connection. Note that the originating user may set amaximum hop count for a number of reasons. One is to limit delay in thePoC communications. As the hop count increases, the time delay for a PoCcommunication generally increases. Two is to limit the potential for acircular call-forwarding loop. One called party's phone may be forwardedto a secretary and that secretary's phone may be forwarded to areceptionist. If the receptionist's phone is forwarded back to thesecretary, the originating user may become stuck in a call-forwardingloop. Three is to limit the potential for being forwarded to someone whois only peripherally related to the subject of the PoC call. The firsthop may be from the called party's primary telephone (mobile device) tothe called party's secondary telephone (office telephone), the secondhop may be to the called party's secretary who is aware of the calledparty's availability, but a third hop may be to a company receptionistwho is not aware of the called party's availability.

Thus, a PTT server implementing this flow chart can adhere to anoriginating party's PoC preferences for reaching a called party for aPoC call. By enabling PoC preferences, an originating user can leavemessages with called parties without interrupting the real-time PoCcall, can avoid recording servers as desired, and can limit the numberof server hops in a PoC call.

While this disclosure includes what are considered presently to be thepreferred embodiments and best modes of the invention described in amanner that establishes possession thereof by the inventors and thatenables those of ordinary skill in the art to make and use theinvention, it will be understood and appreciated that there are manyequivalents to the preferred embodiments disclosed herein and thatmodifications and variations may be made without departing from thescope and spirit of the invention, which are to be limited not by thepreferred embodiments but by the appended claims, including anyamendments made during the pendency of this application and allequivalents of those claims as issued.

It is further understood that the use of relational terms such as firstand second, top and bottom, and the like, if any, are used solely todistinguish one from another entity, item, or action without necessarilyrequiring or implying any actual such relationship or order between suchentities, items or actions. Much of the inventive functionality and manyof the inventive principles are best implemented with or in softwareprograms or instructions. It is expected that one of ordinary skill,notwithstanding possibly significant effort and many design choicesmotivated by, for example, available time, current technology, andeconomic considerations, when guided by the concepts and principlesdisclosed herein will be readily capable of generating such softwareinstructions and programs with minimal experimentation. Therefore,further discussion of such software, if any, will be limited in theinterest of brevity and minimization of any risk of obscuring theprinciples and concepts according to the present invention.

As understood by those in the art, processor 206 includes a processorthat executes computer program code to implement the methods describedherein. Embodiments include computer program code containinginstructions embodied in tangible media, such as floppy diskettes,CD-ROMs, hard drives, or any other computer-readable storage medium,wherein, when the computer program code is loaded into and executed by aprocessor, the processor becomes an apparatus for practicing theinvention. Embodiments include computer program code, for example,whether stored in a storage medium, loaded into and/or executed by acomputer, or transmitted over some transmission medium, such as overelectrical wiring or cabling, through fiber optics, or viaelectromagnetic radiation, wherein, when the computer program code isloaded into and executed by a computer, the computer becomes anapparatus for practicing the invention. When implemented on ageneral-purpose microprocessor, the computer program code segmentsconfigure the microprocessor to create specific logic circuits.

1. A method for a Push-to-X over Cellular (PoC) server comprising:receiving a server registration for a first called device from a secondserver; receiving a PoC invitation message with PoC preferences from anoriginating device to initiate a PoC communication session, wherein thePoC preferences indicate preferences of a user associated with theoriginating device (311); and sending an invitation message to thesecond server, if a trigger occurs for the first called device and thePoC preferences permit, wherein the trigger occurs when the first calleddevice is unable to connect to the PoC communication session.
 2. Amethod according to claim 1 further comprising, before sending aninvitation message to the second server: receiving PoC addresses for oneor more called parties from the originating device; and sendinginvitation messages to the one or more called parties.
 3. A methodaccording to claim 1 further comprising: sending a “BYE” message to thefirst called device, if the trigger occurs for the first called device.4. A method according to claim 1 further comprising: receiving at leastone recorded message from the originating device.
 5. A method accordingto claim 4 wherein the at least one recorded message is at least one of:a text message, an audio message, a picture message, and a videomessage.
 6. A method according to claim 4 further comprising: forwardingthe at least one recorded message to the second server, if the triggeroccurs for the first called device and the PoC preferences permit.
 7. Amethod according to claim 6 further comprising: sending a “BYE” messageto the second server.
 8. A method according to claim 6 furthercomprising, before forwarding the at least one recorded message to thesecond server: determining messaging capabilities of the second server;and modifying the at least one recorded message based on the messagingcapabilities of the second server.
 9. A method according to claim 4further comprising: determining messaging capabilities of the secondserver; selecting one message of the at least one recorded message basedon the messaging capabilities of the second server; and forwarding theone message to the second server, if the trigger occurs for the firstcalled device and the PoC preferences permit.
 10. A method according toclaim 4 further comprising: determining messaging capabilities of thesecond server; selecting one message of the at least one recordedmessage based on the messaging capabilities of the second server and amessage preference of the originating device; and forwarding the onemessage to the second server, if the trigger occurs for the first calleddevice and the PoC preferences permit.
 11. A method according to claim 4further comprising: selecting one message of the at least one recordedmessage that is compatible with messaging capabilities of the secondserver; and forwarding the one message to the second server, if thetrigger occurs for the first called device and the PoC preferencespermit.
 12. A method according to claim 11 further comprising: sending a“BYE” message to the second server.
 13. A method according to claim 1further comprising: sending a Real Time Protocol media message from theoriginating device.
 14. A method according to claim 13 furthercomprising: sending the Real Time Protocol media message to a secondcalled device.
 15. A method according to claim 1 wherein the serverregistration includes a PoC address for the second server.
 16. A methodaccording to claim 1 wherein the second server is a voicemail server.17. A method according to claim 1 wherein the second server is anelectronic mail server.
 18. A method according to claim 1 wherein thesecond server is a multimedia messaging server.
 19. A method accordingto claim 1 wherein the trigger is an elapsed timer.
 20. A methodaccording to claim 1 wherein the PoC preferences include a hop countlimit.